/*
 * jeu.h
 * projet Unix: 6 qui prend
 *
 *  @authors Doublier Sami
 *  @authors Pingot Alexandre
 */

#if !defined(_JEU_H_)
#define _JEU_H_
#include "connexion.h"
#include "memoire.h"


/**
 * Structure d'un choix d'un joueur pour une carte
 * */
typedef struct choix{
	int numero_joueur;
	int carte;
}choix;


typedef struct security{
	int lock;
	FILE *log;
}security;

/* initie une partie de 6 qui prend */
void partie(int, int);

/* coeur du jeu */
void tourDeJeu(void);

void melange(int *, size_t);

/**
 * */
void distribuerLesCartes(void);

void recevoirUneCarte(void);

int pasAssezDeJoueurs(message *);

void ecrireAuxJoueurs(message *);

void ecrireAuxJoueursSauf(message *, int);

void finDePartie(void);

void accepterJoueurs(void);

void enregistrerNomsJoueurs(void);

void envoiDesResources(void);

/* pointeur sur une fonction à exécuter en cas de ctrl+c */
typedef void (*fnHandler)(int);

/* fonction exécutée en cas d'interruption*/
void signalIntHandler(int);

void signalHandler(int);

void initialiserLesCartes(void);

void initialiserLesRessources(void);

void nettoyerRessources(void);

void maxFd(void);

#endif
